﻿using Microsoft.VisualBasic;
using System;
using System.Windows.Forms;

namespace Common {
    // 输入窗口
    class InputBox {
        /**
         * 获取整数值。
         * @param displayValue  编辑框上显示的默认值
         * @param maxValue      允许输入的最大值
         * @param minValue      允许输入的最小值
         * @param tipText       提示文字
         * @return 用户输入的值
         */
        public static int GetIntValue(int displayValue, int maxValue, int minValue, string tipText) {
            int intValue = displayValue;
            while (true) {
                string input = Interaction.InputBox(tipText, " ", displayValue.ToString());
                if (input == "") {
                    intValue = displayValue;
                    break;
                }
                try {
                    intValue = int.Parse(input);
                    if (intValue >= minValue && intValue <= maxValue || intValue == displayValue) {
                        break;
                    }
                } catch (Exception) {
                }
                MessageBox.Show("输入的数值超出允许范围，请重新输入。", " ", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            return intValue;
        }

        /**
         * 获取字符串值。
         * @param displayValue  编辑框上显示的默认值
         * @param tipText       提示文字
         * @return 用户输入的字符串
         */
        public static string GetStringValue(string displayValue, string tipText) {
            return Interaction.InputBox(tipText, " ", displayValue);
        }
    }
}
